package com.wlc.service;

import com.wlc.pojo.Resignation;
import com.wlc.pojo.ResignationStats;
import java.util.List;

public interface ResignationService {

    // 基础CRUD操作
    Resignation findById(Long id);
    List<Resignation> findList(Resignation resignation);
    void save(Resignation resignation);
    void update(Resignation resignation);
    void deleteById(Long id);

    // 审批操作
    void approveResignation(Long id, Long approverId, String approvalOpinion);
    void rejectResignation(Long id, Long approverId, String approvalOpinion);
    void cancelResignation(Long id);

    // 统计查询
    List<ResignationStats> getDeptResignationStats(String year);
    List<ResignationStats> getMonthlyResignationTrend(String year);
    List<ResignationStats> getResignReasonStats(String year);
    List<ResignationStats> getResignationStatusStats(String year);
    ResignationStats getResignationSummary(String year);

    // 综合统计
    Object getResignationOverview(String year);
}